package com.hustmm.mapper;

import java.util.List;
import com.hustmm.domain.MmMaterial;
import com.hustmm.domain.MmMaterialProperties;

/**
 * 材料主Mapper接口
 * 
 * @author WUDI
 * @date 2024-05-23
 */
public interface MmMaterialMapper 
{
    /**
     * 查询材料主
     * 
     * @param matId 材料主主键
     * @return 材料主
     */
    public MmMaterial selectMmMaterialByMatId(String matId);

    /**
     * 查询材料主列表
     * 
     * @param mmMaterial 材料主
     * @return 材料主集合
     */
    public List<MmMaterial> selectMmMaterialList(MmMaterial mmMaterial);

    /**
     * 新增材料主
     * 
     * @param mmMaterial 材料主
     * @return 结果
     */
    public int insertMmMaterial(MmMaterial mmMaterial);

    /**
     * 修改材料主
     * 
     * @param mmMaterial 材料主
     * @return 结果
     */
    public int updateMmMaterial(MmMaterial mmMaterial);

    /**
     * 删除材料主
     * 
     * @param matId 材料主主键
     * @return 结果
     */
    public int deleteMmMaterialByMatId(String matId);

    /**
     * 批量删除材料主
     * 
     * @param matIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteMmMaterialByMatIds(String[] matIds);

    /**
     * 批量删除材料属性
     * 
     * @param matIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteMmMaterialPropertiesByMatIds(String[] matIds);
    
    /**
     * 批量新增材料属性
     * 
     * @param mmMaterialPropertiesList 材料属性列表
     * @return 结果
     */
    public int batchMmMaterialProperties(List<MmMaterialProperties> mmMaterialPropertiesList);
    

    /**
     * 通过材料主主键删除材料属性信息
     * 
     * @param matId 材料主ID
     * @return 结果
     */
    public int deleteMmMaterialPropertiesByMatId(String matId);
}
